💡 AI 인사이트

🤖 AI가 여기에 결과를 출력합니다...

댓글 커뮤니티

쿠팡이벤트

이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.

검색

    로딩 중이에요... 🐣

    [코담] 웹개발·실전 프로젝트·AI까지, 파이썬·장고의 모든것을 담아낸 강의와 개발 노트

    05 Django Admin 기능 활용하기 | ✅ 편저: 코담 운영자

    Django 웹 프로그래밍 강좌 5강 - Django Admin 기능 활용하기 (Django 5.2 기준)

    강의 영상:

    이 강의는 Django 공식 문서의 2.2 튜토리얼 내용을 바탕으로 진행되며, Django 5.2 버전에 맞춰 코드를 업그레이드하여 설명합니다.

    📚 공식문서 주소: https://docs.djangoproject.com/ko/5.2/intro/tutorial02/#introducing-the-django-admin


    1. Django Admin 이란?

    Django는 웹 애플리케이션에서 데이터를 효율적으로 관리할 수 있도록 강력한 Admin 사이트를 기본으로 제공합니다.

    • 자동 생성되는 웹 기반 관리자 페이지
    • 등록된 모델에 대한 CRUD(생성, 조회, 수정, 삭제) 작업 가능
    • HTML, SQL 없이도 데이터 관리 가능

    대부분의 웹 프로젝트는 관리자 페이지가 필요하므로, Django의 Admin은 매우 유용한 기능입니다.


    2. 관리자(superuser) 계정 생성

    Admin 사이트에 로그인하기 위해 먼저 관리자 계정을 생성합니다:

    python manage.py createsuperuser
    
    • 사용자명, 이메일, 비밀번호를 입력
    • 비밀번호가 간단할 경우 경고가 뜨지만, yes를 입력하면 강제로 진행할 수 있습니다

    생성된 계정은 Admin뿐 아니라 Django의 인증 시스템에도 통합되어 활용됩니다.


    3. Admin 사이트 접속

    서버 실행:

    python manage.py runserver
    

    웹 브라우저에서 다음 주소로 접속:

    http://127.0.0.1:8000/admin/
    
    • 로그인 페이지에서 생성한 superuser 계정으로 로그인
    • Django 기본 Admin 대시보드가 나타납니다

    인증이 완료된 사용자만 접근 가능하며, 권한별로 메뉴가 다르게 표시됩니다.


    4. 모델 Admin 등록

    기본적으로는 우리가 만든 모델이 Admin 화면에 보이지 않기 때문에 등록 작업이 필요합니다.

    polls/admin.py 수정

    from django.contrib import admin
    from .models import Question, Choice
    
    admin.site.register(Question)
    admin.site.register(Choice)
    
    • admin.site.register() 함수를 통해 각 모델을 등록
    • 등록된 모델은 Admin UI에서 관리 가능해짐

    추후 커스터마이징을 위해 ModelAdmin 클래스를 사용하는 방식도 학습하게 됩니다.


    5. Admin 화면 활용

    Admin 화면에서 다음과 같은 작업이 가능합니다:

    • 모델 인스턴스 생성/수정/삭제
    • ForeignKey 필드는 드롭다운으로 연결
    • 폼은 모델 필드 정의를 바탕으로 자동 생성

    예시 흐름

    1. Question 모델에서 "What's up?" 질문 생성
    2. 관련된 Choice 항목 추가
    3. 기존 데이터 수정 또는 삭제 가능

    해당 데이터는 모두 DB에 자동 반영되므로 SQL 명령 없이도 데이터베이스 작업이 가능합니다.


    6. Admin 커스터마이징 예고 (ModelAdmin)

    Django는 Admin 화면의 다양한 커스터마이징을 지원합니다:

    • 목록에 보여질 필드 선택 (list_display)
    • 검색창 추가 (search_fields)
    • 필터 추가 (list_filter)
    • 날짜 계층 필터 (date_hierarchy)
    • 필드 그룹핑 (fieldsets)

    예시 (선택 학습):

    @admin.register(Question)
    class QuestionAdmin(admin.ModelAdmin):
        list_display = ("question_text", "pub_date")
        search_fields = ["question_text"]
    

    마무리 요약

    • createsuperuser 명령어로 관리자 계정 생성
    • /admin/ 경로로 접속하여 Django 기본 Admin 대시보드 활용
    • admin.site.register()로 모델 등록
    • 데이터 입력/수정/삭제까지 웹에서 처리 가능
    • Admin은 기본 기능 외에도 커스터마이징이 가능함

    다음 강의 예고

    6강에서는 Django의 View 시스템HTML 템플릿을 연결하는 방법을 배웁니다. 이를 통해 사용자가 접근했을 때 보여지는 실제 화면을 구성하게 됩니다.

    감사합니다.

    TOP
    preload preload